package com.example.task2u;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemLongClickListener;

public class Amanha extends Activity {

	ListView lv2;


	public Amanha() {
	}
	
	
	public static final int MENU_MOVE = 1;
	public static final int MENU_REMOVE = 2;
	
	ArrayList<Tarefa> amanha = new ArrayList<Tarefa>();
	ArrayList<Tarefa> hoje = new ArrayList<Tarefa>();
	ArrayList<Tarefa> pendente = new ArrayList<Tarefa>();


	ArrayAdapter<Tarefa> arrayAdapter;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_amanha);
		TarefasFicheiro taff_app;

		int isto = 1;

		taff_app = (TarefasFicheiro) getApplication();
		taff_app.Ler(isto);

		lv2 = (ListView) findViewById(R.id.listViewAmanha);

		List<Tarefa> al = new ArrayList<Tarefa>();

		al = taff_app.getArrTarefa_Amanha();

		arrayAdapter = new ArrayAdapter<Tarefa>(this,
				android.R.layout.simple_list_item_1, al);

		lv2.setAdapter(arrayAdapter);

		registerForContextMenu(lv2);

	}
	
	@Override
	public void onCreateContextMenu(ContextMenu menu, View v, 
	   ContextMenuInfo menuInfo) {
		  menu.add(Menu.NONE, MENU_MOVE, Menu.NONE, "Mover para Pendente");
		  menu.add(Menu.NONE, MENU_REMOVE, Menu.NONE, "Apagar");
	}
	
	@Override
	public boolean onContextItemSelected(MenuItem item) {
	AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
	switch (item.getItemId()) {
	    case MENU_MOVE:
	    	movetarefa(info.position);
	    	return true;
	    case MENU_REMOVE:
	    	removetarefa(info.position);
	    	return true;
	    default:
	        return super.onContextItemSelected(item);
	   }
	}

	private void movetarefa(int id) {

		TarefasFicheiro taff_app = (TarefasFicheiro)getApplication();
		pendente = taff_app.getArrTarefa_Pendente();
		amanha = taff_app.getArrTarefa_Amanha();
		Tarefa t;
		t = arrayAdapter.getItem(id);
		pendente.add(t);	
		
		try{
		for(int j =0 ;j<amanha.size();j++)
			if(amanha.get(j).getNome().equals(t.getNome()))
				amanha.remove(j);
		}catch(Exception e){}

		
		taff_app.setArrTarefaPendente(pendente);
		taff_app.setArrTarefaAmanha(amanha);
		
		taff_app.Guardar(1);
		taff_app.Guardar(2);
	}
	
	private void removetarefa(int id){
		TarefasFicheiro taff_app = (TarefasFicheiro)getApplication();

		amanha = taff_app.getArrTarefa_Amanha();
		
		Tarefa t;
		t = arrayAdapter.getItem(id);
		
		try{
		
			for(int j =0 ;j<amanha.size();j++)
				if(amanha.get(j).getNome().equals(t.getNome()))
					amanha.remove(j);
			
		}catch(Exception e){}
		
		taff_app.setArrTarefaAmanha(amanha);
		taff_app.Guardar(1);


	}
}
